package com.xcm.service;

import com.xcm.model.TbProgramDownload;

/**
 * 节目下载信息Service
 */
public interface ProgramDownloadService {
	/**
	 * 保存节目下载信息
	 *
	 * @param programDownload TbProgramDownload对象
	 */
	void saveProgramDownload(TbProgramDownload programDownload);
	/**
	 * 更新节目下载信息
	 *
	 * @param programDownload TbProgramDownload对象
	 */
	void updateProgramDownload(TbProgramDownload programDownload);
	
	/**
	 * 多条件查询节目下载状态计数
	 * @param state 状态
	 * @param xcVersion 
	 * @param mac  
	 * @return
	 */
	long countProgramDownStatus( Integer state,String xcVersion,String mac );
	
	/**
	 * 根据mac和xcVersion获取下载状态记录
	 * @param mac
	 * @param downloadJson
	 * @return
	 */
	TbProgramDownload getProgramDownloadByMacAndXcVersion(String mac, String downloadJson);
	
	/**
	 * 保存或更新下载状态
	 * @param mac
	 * @param playJson
	 * @param downloadJson
	 * @param state
	 * @param failure_reasonon
	 * @param ip 请求ip
	 */
	void saveOrUpdateDownload(String mac, String playJson, String downloadJson, Integer state, String failure_reasonon, String ip);
	
}
